/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Tarea1;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author manuel Servlet encargado de realizar la compra y actualizar los datos
 * del producto seleccionado
 */
public class compraServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            ManejoBD manejoBD = new ManejoBD();
            manejoBD.conectarBD();
            HttpSession session = request.getSession();
            Producto productoSeleccionado = new Producto();
            String codigoProducto = request.getParameter(Constantes.PARAMETRO_CODIGO_PRODUCTO);
            productoSeleccionado = manejoBD.seleccionaProducto(codigoProducto);

            if (request.getParameter(Constantes.PARAMETRO_BOTON_BUSQUEDA) != null) {
                if (!productoSeleccionado.esValido()) {
                    response.setContentType("text/html");
                    response.sendRedirect("Comprar.jsp?estadoSeleccion=0");
                } else {
                    session.setAttribute(Constantes.ATRIBUTO_PRODUCTO, productoSeleccionado);
                    response.setContentType("text/html");
                    response.sendRedirect("Comprar.jsp?estadoSeleccion=1");
                }

            } else if (request.getParameter(Constantes.PARAMETRO_BOTON_COMPRA) != null) {

                String cantidadCompraString = request.getParameter(Constantes.PARAMETRO_CANTIDAD_COMPRA);
                int cantidadCompra = Integer.parseInt(cantidadCompraString);
                int cantidadStock = productoSeleccionado.getcantidad();
                if ((cantidadStock - cantidadCompra) < 0) {
                    response.setContentType("text/html");
                    response.sendRedirect("Comprar.jsp?estadoCompra=0");
                } else {
                    productoSeleccionado.setCantidad(cantidadStock - cantidadCompra);
                    String resultado =manejoBD.modificaProducto(productoSeleccionado);
                    response.setContentType("text/html");
                    response.sendRedirect("Comprar.jsp?estadoCompra="+resultado);
                }
            }
            request.getRequestDispatcher("/Comprar.jsp").forward(request, response);
        } catch (Throwable exc) {
            System.out.println(exc);
        }
    }
}
